SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

DROP SCHEMA IF EXISTS `BDCDCS` ;
CREATE SCHEMA IF NOT EXISTS `BDCDCS` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci ;
USE `BDCDCS` ;

-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_EMPRESA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_EMPRESA` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_EMPRESA` (
  `CODEMPRESA` INT NOT NULL AUTO_INCREMENT,
  `RAZAOSOCIAL` VARCHAR(255) NOT NULL,
  `CNPJ` VARCHAR(255) NOT NULL,
  `SENHA` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`CODEMPRESA`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_MESAS`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_MESAS` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_MESAS` (
  `CODMESA` INT NOT NULL AUTO_INCREMENT,
  `STATUS` INT NOT NULL,
  PRIMARY KEY (`CODMESA`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_EMPRESAMESA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_EMPRESAMESA` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_EMPRESAMESA` (
  `CODEMPRESAMESA` INT NOT NULL AUTO_INCREMENT,
  `CODMESA` INT NOT NULL,
  `CODEMPRESA` INT NOT NULL,
  PRIMARY KEY (`CODEMPRESAMESA`),
  CONSTRAINT `fk_TAB_EMPRESAMESA_TAB_MESA`
    FOREIGN KEY (`CODMESA`)
    REFERENCES `BDCDCS`.`TAB_MESAS` (`CODMESA`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_EMPRESAMESA_TAB_EMPRESA1`
    FOREIGN KEY (`CODEMPRESA`)
    REFERENCES `BDCDCS`.`TAB_EMPRESA` (`CODEMPRESA`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_EMPRESAMESA_TAB_MESA_idx` ON `BDCDCS`.`TAB_EMPRESAMESA` (`CODMESA` ASC);

CREATE INDEX `fk_TAB_EMPRESAMESA_TAB_EMPRESA1_idx` ON `BDCDCS`.`TAB_EMPRESAMESA` (`CODEMPRESA` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_USUARIOS`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_USUARIOS` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_USUARIOS` (
  `CODUSUARIO` INT NOT NULL AUTO_INCREMENT,
  `USUARIO` VARCHAR(255) NOT NULL,
  `SENHA` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`CODUSUARIO`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_GRUPO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_GRUPO` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_GRUPO` (
  `CODGRUPO` INT NOT NULL AUTO_INCREMENT,
  `GRUPO` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`CODGRUPO`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_SUBGRUPO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_SUBGRUPO` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_SUBGRUPO` (
  `CODSUBGRUPO` INT NOT NULL AUTO_INCREMENT,
  `SUBGRUPO` VARCHAR(255) NOT NULL,
  `CODGRUPO` INT NOT NULL,
  PRIMARY KEY (`CODSUBGRUPO`),
  CONSTRAINT `fk_TAB_SUBGRUPO_TAB_GRUPO1`
    FOREIGN KEY (`CODGRUPO`)
    REFERENCES `BDCDCS`.`TAB_GRUPO` (`CODGRUPO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_SUBGRUPO_TAB_GRUPO1_idx` ON `BDCDCS`.`TAB_SUBGRUPO` (`CODGRUPO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_PRODUTOS`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_PRODUTOS` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_PRODUTOS` (
  `CODPRODUTO` INT NOT NULL AUTO_INCREMENT,
  `CODSUBGRUPO` INT NOT NULL,
  `PRODUTO` VARCHAR(255) NOT NULL,
  `TEMPOPREPARO` DECIMAL(10,0) NOT NULL,
  `DESCRICAO` LONGTEXT NOT NULL,
  `PRECO` DECIMAL(10,0) NOT NULL,
  `FOTO` DECIMAL(10,0) NULL,
  PRIMARY KEY (`CODPRODUTO`),
  CONSTRAINT `fk_TAB_PRODUTOS_TAB_SUBGRUPO1`
    FOREIGN KEY (`CODSUBGRUPO`)
    REFERENCES `BDCDCS`.`TAB_SUBGRUPO` (`CODSUBGRUPO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_PRODUTOS_TAB_SUBGRUPO1_idx` ON `BDCDCS`.`TAB_PRODUTOS` (`CODSUBGRUPO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_INGREDIENTES`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_INGREDIENTES` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_INGREDIENTES` (
  `CODINGREDIENTE` INT NOT NULL AUTO_INCREMENT,
  `INGREDIENTE` VARCHAR(255) NOT NULL,
  `OBSERVACOES` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`CODINGREDIENTE`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_PRODUTOINGREDIENTES`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_PRODUTOINGREDIENTES` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_PRODUTOINGREDIENTES` (
  `CODPRODUTOINGREDIENTE` INT NOT NULL AUTO_INCREMENT,
  `CODPRODUTO` INT NOT NULL,
  `CODINGREDIENTE` INT NOT NULL,
  PRIMARY KEY (`CODPRODUTOINGREDIENTE`),
  CONSTRAINT `fk_TAB_PRODUTOINGREDIENTES_TAB_PRODUTOS1`
    FOREIGN KEY (`CODPRODUTO`)
    REFERENCES `BDCDCS`.`TAB_PRODUTOS` (`CODPRODUTO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_PRODUTOINGREDIENTES_TAB_INGREDIENTES1`
    FOREIGN KEY (`CODINGREDIENTE`)
    REFERENCES `BDCDCS`.`TAB_INGREDIENTES` (`CODINGREDIENTE`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_PRODUTOINGREDIENTES_TAB_PRODUTOS1_idx` ON `BDCDCS`.`TAB_PRODUTOINGREDIENTES` (`CODPRODUTO` ASC);

CREATE INDEX `fk_TAB_PRODUTOINGREDIENTES_TAB_INGREDIENTES1_idx` ON `BDCDCS`.`TAB_PRODUTOINGREDIENTES` (`CODINGREDIENTE` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_TIPOSPAGAMENTO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_TIPOSPAGAMENTO` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_TIPOSPAGAMENTO` (
  `CODTIPODEPAGAMENTO` INT NOT NULL AUTO_INCREMENT,
  `TIPOPAGAMENTO` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`CODTIPODEPAGAMENTO`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_FORMASPAGAMENTO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_FORMASPAGAMENTO` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_FORMASPAGAMENTO` (
  `CODFORMAPAGAMENTO` INT NOT NULL AUTO_INCREMENT,
  `FORMAPAGAMENTO` VARCHAR(255) NOT NULL,
  `PARCELAS` INT NOT NULL,
  `CODTIPODEPAGAMENTO` INT NOT NULL,
  PRIMARY KEY (`CODFORMAPAGAMENTO`),
  CONSTRAINT `fk_TAB_FORMASPAGAMENTO_TAB_TIPOSPAGAMENTO1`
    FOREIGN KEY (`CODTIPODEPAGAMENTO`)
    REFERENCES `BDCDCS`.`TAB_TIPOSPAGAMENTO` (`CODTIPODEPAGAMENTO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_FORMASPAGAMENTO_TAB_TIPOSPAGAMENTO1_idx` ON `BDCDCS`.`TAB_FORMASPAGAMENTO` (`CODTIPODEPAGAMENTO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_FUNCAO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_FUNCAO` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_FUNCAO` (
  `CODFUNCAO` INT NOT NULL,
  `FUNCAO` VARCHAR(255) NOT NULL,
  `GARCON` TINYINT(1) NOT NULL,
  PRIMARY KEY (`CODFUNCAO`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_FUNCIONARIOS`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_FUNCIONARIOS` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_FUNCIONARIOS` (
  `CODFUNCIONARIO` INT NOT NULL AUTO_INCREMENT,
  `FUNCIONARIO` VARCHAR(45) NOT NULL,
  `DATANASCIMENTO` VARCHAR(45) NOT NULL,
  `CODFUNCAO` INT NOT NULL,
  PRIMARY KEY (`CODFUNCIONARIO`),
  CONSTRAINT `fk_TAB_FUNCIONARIOS_TAB_FUNCAO1`
    FOREIGN KEY (`CODFUNCAO`)
    REFERENCES `BDCDCS`.`TAB_FUNCAO` (`CODFUNCAO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_FUNCIONARIOS_TAB_FUNCAO1_idx` ON `BDCDCS`.`TAB_FUNCIONARIOS` (`CODFUNCAO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_CLIENTES`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_CLIENTES` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_CLIENTES` (
  `CODCLIENTE` INT NOT NULL AUTO_INCREMENT,
  `CLIENTE` VARCHAR(255) NOT NULL,
  `CPF/CNPJ` VARCHAR(14) NOT NULL,
  `RG/IE` VARCHAR(8) NULL,
  `TELEFONE` VARCHAR(10) NULL,
  PRIMARY KEY (`CODCLIENTE`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_PEDIDOS`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_PEDIDOS` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_PEDIDOS` (
  `CODPEDIDO` INT NOT NULL AUTO_INCREMENT,
  `VALORTOTAL` DECIMAL(10,0) NOT NULL,
  `STATUS` INT NULL,
  `DATAABERTURA` DATETIME NULL,
  `DATAFECHAMENTO` DATETIME NULL,
  `TEMPOESTIMADO` TIME NOT NULL,
  `ANDAMENTO` VARCHAR(255) NULL,
  `CODMESA` INT NOT NULL,
  `CODFUNCIONARIO` INT NOT NULL,
  PRIMARY KEY (`CODPEDIDO`),
  CONSTRAINT `fk_TAB_PEDIDOS_TAB_MESAS1`
    FOREIGN KEY (`CODMESA`)
    REFERENCES `BDCDCS`.`TAB_MESAS` (`CODMESA`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_PEDIDOS_TAB_FUNCIONARIOS1`
    FOREIGN KEY (`CODFUNCIONARIO`)
    REFERENCES `BDCDCS`.`TAB_FUNCIONARIOS` (`CODFUNCIONARIO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_PEDIDOS_TAB_MESAS1_idx` ON `BDCDCS`.`TAB_PEDIDOS` (`CODMESA` ASC);

CREATE INDEX `fk_TAB_PEDIDOS_TAB_FUNCIONARIOS1_idx` ON `BDCDCS`.`TAB_PEDIDOS` (`CODFUNCIONARIO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_PEDIDOPRODUTOS`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_PEDIDOPRODUTOS` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_PEDIDOPRODUTOS` (
  `CODPEDIDOPRODUTOS` INT NOT NULL AUTO_INCREMENT,
  `CODPEDIDO` INT NOT NULL,
  `CODPRODUTO` INT NOT NULL,
  `QUANTIDADE` DECIMAL(10,0) NOT NULL,
  PRIMARY KEY (`CODPEDIDOPRODUTOS`),
  CONSTRAINT `fk_TAB_PEDIDOS_has_TAB_PRODUTOS_TAB_PEDIDOS1`
    FOREIGN KEY (`CODPEDIDO`)
    REFERENCES `BDCDCS`.`TAB_PEDIDOS` (`CODPEDIDO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_PEDIDOS_has_TAB_PRODUTOS_TAB_PRODUTOS1`
    FOREIGN KEY (`CODPRODUTO`)
    REFERENCES `BDCDCS`.`TAB_PRODUTOS` (`CODPRODUTO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_PEDIDOS_has_TAB_PRODUTOS_TAB_PRODUTOS1_idx` ON `BDCDCS`.`TAB_PEDIDOPRODUTOS` (`CODPRODUTO` ASC);

CREATE INDEX `fk_TAB_PEDIDOS_has_TAB_PRODUTOS_TAB_PEDIDOS1_idx` ON `BDCDCS`.`TAB_PEDIDOPRODUTOS` (`CODPEDIDO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_PEDIDOFORMASPAGAMENTO`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_PEDIDOFORMASPAGAMENTO` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_PEDIDOFORMASPAGAMENTO` (
  `CODPEDIDOFORMASPAGAMENTO` INT NOT NULL AUTO_INCREMENT,
  `CODPEDIDO` INT NOT NULL,
  `CODFORMAPAGAMENTO` INT NOT NULL,
  PRIMARY KEY (`CODPEDIDOFORMASPAGAMENTO`),
  CONSTRAINT `fk_TAB_PEDIDOS_has_TAB_FORMASPAGAMENTO_TAB_PEDIDOS1`
    FOREIGN KEY (`CODPEDIDO`)
    REFERENCES `BDCDCS`.`TAB_PEDIDOS` (`CODPEDIDO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_PEDIDOS_has_TAB_FORMASPAGAMENTO_TAB_FORMASPAGAMENTO1`
    FOREIGN KEY (`CODFORMAPAGAMENTO`)
    REFERENCES `BDCDCS`.`TAB_FORMASPAGAMENTO` (`CODFORMAPAGAMENTO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_PEDIDOS_has_TAB_FORMASPAGAMENTO_TAB_FORMASPAGAMENTO1_idx` ON `BDCDCS`.`TAB_PEDIDOFORMASPAGAMENTO` (`CODFORMAPAGAMENTO` ASC);

CREATE INDEX `fk_TAB_PEDIDOS_has_TAB_FORMASPAGAMENTO_TAB_PEDIDOS1_idx` ON `BDCDCS`.`TAB_PEDIDOFORMASPAGAMENTO` (`CODPEDIDO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_PEDIDOCLIENTES`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_PEDIDOCLIENTES` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_PEDIDOCLIENTES` (
  `CODPEDIDOCLIENTES` INT NOT NULL AUTO_INCREMENT,
  `CODPEDIDO` INT NOT NULL,
  `CODCLIENTE` INT NOT NULL,
  PRIMARY KEY (`CODPEDIDOCLIENTES`),
  CONSTRAINT `fk_TAB_PEDIDOS_has_TAB_CLIENTES_TAB_PEDIDOS1`
    FOREIGN KEY (`CODPEDIDO`)
    REFERENCES `BDCDCS`.`TAB_PEDIDOS` (`CODPEDIDO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_PEDIDOS_has_TAB_CLIENTES_TAB_CLIENTES1`
    FOREIGN KEY (`CODCLIENTE`)
    REFERENCES `BDCDCS`.`TAB_CLIENTES` (`CODCLIENTE`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_PEDIDOS_has_TAB_CLIENTES_TAB_CLIENTES1_idx` ON `BDCDCS`.`TAB_PEDIDOCLIENTES` (`CODCLIENTE` ASC);

CREATE INDEX `fk_TAB_PEDIDOS_has_TAB_CLIENTES_TAB_PEDIDOS1_idx` ON `BDCDCS`.`TAB_PEDIDOCLIENTES` (`CODPEDIDO` ASC);


-- -----------------------------------------------------
-- Table `BDCDCS`.`TAB_USUARIOEMPRESA`
-- -----------------------------------------------------
DROP TABLE IF EXISTS `BDCDCS`.`TAB_USUARIOEMPRESA` ;

CREATE TABLE IF NOT EXISTS `BDCDCS`.`TAB_USUARIOEMPRESA` (
  `CODUSUARIOEMPRESA` INT NOT NULL AUTO_INCREMENT,
  `CODUSUARIO` INT NOT NULL,
  `CODEMPRESA` INT NOT NULL,
  PRIMARY KEY (`CODUSUARIOEMPRESA`),
  CONSTRAINT `fk_TAB_USUARIOS_has_TAB_EMPRESA_TAB_USUARIOS1`
    FOREIGN KEY (`CODUSUARIO`)
    REFERENCES `BDCDCS`.`TAB_USUARIOS` (`CODUSUARIO`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_TAB_USUARIOS_has_TAB_EMPRESA_TAB_EMPRESA1`
    FOREIGN KEY (`CODEMPRESA`)
    REFERENCES `BDCDCS`.`TAB_EMPRESA` (`CODEMPRESA`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)
ENGINE = InnoDB;

CREATE INDEX `fk_TAB_USUARIOS_has_TAB_EMPRESA_TAB_EMPRESA1_idx` ON `BDCDCS`.`TAB_USUARIOEMPRESA` (`CODEMPRESA` ASC);

CREATE INDEX `fk_TAB_USUARIOS_has_TAB_EMPRESA_TAB_USUARIOS1_idx` ON `BDCDCS`.`TAB_USUARIOEMPRESA` (`CODUSUARIO` ASC);


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
